package com.bjx.generator.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.bjx.generator.domain.entity.TableInfoEntity;
import com.bjx.generator.domain.query.TableInfoQuery;
import com.bjx.generator.domain.vo.TableInfoVO;

import java.util.List;

public interface ITableInfoService {
    /**
     * 根据表面保存表信息
     * @param tableName
     * @Author: liushuai
     * @Date: 2022/9/14 17:00
     */
    void insertTableInfo(String tableName);

    /**
     * 分页查询表信息
     * @param tableInfoQuery
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.bjx.generator.domain.entity.TableInfoEntity>
     * @Author: liushuai
     * @Date: 2022/9/16 14:01
     */
    IPage<TableInfoEntity> listTableInfoPage(TableInfoQuery tableInfoQuery);

    /**
     * 根据表id查询表信息
     * @param tableId
     * @return: com.bjx.generator.domain.vo.TableInfoVO
     * @Author: liushuai
     * @Date: 2022/9/16 14:41
     */
    TableInfoVO selectTableInfoByTableId(Long tableId);

    /**
     * 根据表id修改表信息
     * @param vo
     * @Author: liushuai
     * @Date: 2022/9/22 15:20
     */
    void updateTableInfoByTableId(TableInfoVO vo);

    /**
     * 根据表id删除表信息
     * @param tableId
     */
    void deleteTableInfoByTableId(Long tableId);

    /**
     * 查询表信息列表
     * @param tableInfoQuery
     * @return
     */
    List<TableInfoEntity> listTableInfo(TableInfoQuery tableInfoQuery);
}
